﻿package CutLoad.mc
{
	import flash.text.TextField;
	/**
	 * 对一篇文章字符按一定的字数分页
	 * @author smallerbird mail:smallerbird@gmail.com  site:www.mkigm.com QQ群:49983196
	 * 
	 */
	public class MCTxtFieldShowPage
	{
		private var txt:TextField;
		private var arrStrPageContent:Array;
		private var onePageSize:Number;
		private var _currentPage:Number;
		/**
		 * 初始化 
		 * @param traget 显示的目标
		 * @param RowCount 一页显示多少行
		 * @param data 要分页的字符串
		 * 
		 */		
		public function MCTxtFieldShowPage(traget:TextField,RowCount:Number,data:String):void
		{
			this.txt=traget;
			arrStrPageContent=new Array();
			onePageSize=RowCount;
			_currentPage=1;
			txt.htmlText=data;
		}
		/**
		 * 当前是第几页 
		 * @return 
		 * 
		 */		
		public function get currentPage():Number{
			return _currentPage;
		}
		/**
		 * 总页数 
		 * @return 
		 * 
		 */		
		public function get pageCount():Number{
			return Math.ceil(txt.numLines/onePageSize);
		}
		/**
		 * 下一页 
		 * @return 
		 * 
		 */		
		public function nextPage():Boolean{
			_currentPage++;
			if(_currentPage>pageCount){
				_currentPage--;
				return false;
			}
			return getPage(_currentPage);
		}
		/**
		 * 上一页 
		 * @return 
		 * 
		 */		
		public function prePage():Boolean{
			_currentPage--;
			if(_currentPage<1){
				_currentPage++;
				return false;
			}
			return getPage(_currentPage);
		}
		/**
		 * 跳到某一页 
		 * @param page
		 * @return 
		 * 
		 */		
		public function getPage(page:Number):Boolean{
			if(page>0&&page<=pageCount){
				_currentPage=page;
				txt.scrollV=onePageSize*(_currentPage-1)+1
				return true;
			}
			return false;
		}
	}
}